import { createI18n } from 'vue-i18n'


const lang = {
  // 实例
  i18n: {},
  // t 函数
  t: {},
  // tm 函数
  tm: {},

  // 加载语言包
  run(code, messages) {
    // 保存实例
    this.i18n = createI18n({
      // 默认第一个语言
      locale: code,
      messages
    })

    // 保存 t 函数
    this.t = this.i18n.global.t
    this.tm = this.i18n.global.tm
  },

  // 设置语言
  set(lang) {
    this.i18n.global.locale = lang
  },

  // 获取当前语言
  get() {
    return this.i18n.global.locale
  },

  // 语言代理
  messages(name) {
    return this.i18n.global.messages[name]
  }
}

export default lang